template(name="activities")
  .activities.js-sidebar-activities
    //- We should use Template.dynamic here but there is a bug with
    //- blaze-components: https://github.com/peerlibrary/meteor-blaze-components/issues/30
    if $eq mode "board"
      +boardActivities
    else
      +cardActivities

template(name="boardActivities")
  each currentBoard.activities
    .activity
      +userAvatar(userId=user._id)
      p.activity-desc
        +memberName(user=user)

        if($eq activityType 'deleteAttachment')
          | {{{_ 'activity-delete-attach' cardLink}}}.

        if($eq activityType 'addAttachment')
          | {{{_ 'activity-attached' attachmentLink cardLink}}}.

        if($eq activityType 'addBoardMember')
          | {{{_ 'activity-added' memberLink boardLabel}}}.

        if($eq activityType 'addComment')
          | {{{_ 'activity-on' cardLink}}}
          a.activity-comment(href="{{ card.absoluteUrl }}")
            +viewer
              = comment.text

        if($eq activityType 'addChecklist')
          | {{{_ 'activity-checklist-added' cardLink}}}.
          .activity-checklist(href="{{ card.absoluteUrl }}")
            +viewer
              = checklist.title
        if($eq activityType 'removeChecklist')
          | {{{_ 'activity-checklist-removed' cardLink}}}.

        if($eq activityType 'checkedItem')
          | {{{_ 'activity-checked-item' checkItem checklist.title cardLink}}}.

        if($eq activityType 'uncheckedItem')
          | {{{_ 'activity-unchecked-item' checkItem checklist.title cardLink}}}.

        if($eq activityType 'checklistCompleted')
          | {{{_ 'activity-checklist-completed' checklist.title cardLink}}}.

        if($eq activityType 'checklistUncompleted')
          | {{{_ 'activity-checklist-uncompleted' checklist.title cardLink}}}.

        if($eq activityType 'addChecklistItem')
          | {{{_ 'activity-checklist-item-added' checklist.title cardLink}}}.
          .activity-checklist(href="{{ card.absoluteUrl }}")
            +viewer
              = checklistItem.title
        if($eq activityType 'removedChecklistItem')
          | {{{_ 'activity-checklist-item-removed' checklist.title cardLink}}}.

        if($eq activityType 'archivedCard')
          | {{{_ 'activity-archived' cardLink}}}.

        if($eq activityType 'archivedList')
          | {{_ 'activity-archived' list.title}}.

        if($eq activityType 'archivedSwimlane')
          | {{_ 'activity-archived' swimlane.title}}.

        if($eq activityType 'createBoard')
          | {{_ 'activity-created' boardLabel}}.

        if($eq activityType 'createCard')
          | {{{_ 'activity-added' cardLink boardLabel}}}.

        if($eq activityType 'createCustomField')
          | {{_ 'activity-customfield-created' customField}}.

        if($eq activityType 'createList')
          | {{_ 'activity-added' list.title boardLabel}}.

        if($eq activityType 'createSwimlane')
          | {{_ 'activity-added' swimlane.title boardLabel}}.

        if($eq activityType 'removeList')
          | {{_ 'activity-removed' title boardLabel}}.

        if($eq activityType 'importBoard')
          | {{{_ 'activity-imported-board' boardLabel sourceLink}}}.

        if($eq activityType 'importCard')
          | {{{_ 'activity-imported' cardLink boardLabel sourceLink}}}.

        if($eq activityType 'importList')
          | {{{_ 'activity-imported' listLabel boardLabel sourceLink}}}.

        if($eq activityType 'joinMember')
          if($eq user._id member._id)
            | {{{_ 'activity-joined' cardLink}}}.
          else
            | {{{_ 'activity-added' memberLink cardLink}}}.

        if($eq activityType 'moveCardBoard')
          | {{{_ 'activity-moved' cardLink oldBoardName boardName}}}.

        if($eq activityType 'moveCard')
          | {{{_ 'activity-moved' cardLink oldList.title list.title}}}.

        if($eq activityType 'removeBoardMember')
          | {{{_ 'activity-excluded' memberLink boardLabel}}}.

        if($eq activityType 'restoredCard')
          | {{{_ 'activity-sent' cardLink boardLabel}}}.

        if($eq activityType 'addedLabel')
          | {{{_ 'activity-added-label' lastLabel cardLink}}}.

        if($eq activityType 'removedLabel')
          | {{{_ 'activity-removed-label' lastLabel cardLink}}}.

        if($eq activityType 'setCustomField')
          | {{{_ 'activity-set-customfield' lastCustomField lastCustomFieldValue cardLink}}}.

        if($eq activityType 'unsetCustomField')
          | {{{_ 'activity-unset-customfield' lastCustomField cardLink}}}.

        if($eq activityType 'unjoinMember')
          if($eq user._id member._id)
            | {{{_ 'activity-unjoined' cardLink}}}.
          else
            | {{{_ 'activity-removed' memberLink cardLink}}}.

        span(title=createdAt).activity-meta {{ moment createdAt }}

template(name="cardActivities")
  each currentCard.activities
    .activity
      +userAvatar(userId=user._id)
      p.activity-desc
        +memberName(user=user)
        if($eq activityType 'createCard')
          | {{_ 'activity-added' cardLabel listName}}.
        if($eq activityType 'importCard')
          | {{{_ 'activity-imported' cardLabel list.title sourceLink}}}.
        if($eq activityType 'joinMember')
          if($eq user._id member._id)
            | {{_ 'activity-joined' cardLabel}}.
          else
            | {{{_ 'activity-added' memberLink cardLabel}}}.
        if($eq activityType 'unjoinMember')
          if($eq user._id member._id)
            | {{_ 'activity-unjoined' cardLabel}}.
          else
            | {{{_ 'activity-removed' cardLabel memberLink}}}.
        if($eq activityType 'archivedCard')
          | {{_ 'activity-archived' cardLabel}}.

        if($eq activityType 'addedLabel')
          | {{{_ 'activity-added-label-card' lastLabel }}}.

        if($eq activityType 'removedLabel')
          | {{{_ 'activity-removed-label-card' lastLabel }}}.

        if($eq activityType 'removeChecklist')
          | {{{_ 'activity-checklist-removed' cardLabel}}}.

        if($eq activityType 'checkedItem')
          | {{{_ 'activity-checked-item-card' checkItem checklist.title }}}.

        if($eq activityType 'uncheckedItem')
          | {{{_ 'activity-unchecked-item-card' checkItem checklist.title }}}.

        if($eq activityType 'checklistCompleted')
          | {{{_ 'activity-checklist-completed-card' checklist.title }}}.

        if($eq activityType 'checklistUncompleted')
          | {{{_ 'activity-checklist-uncompleted-card' checklist.title }}}.

        if($eq activityType 'restoredCard')
          | {{_ 'activity-sent' cardLabel boardLabel}}.
        if($eq activityType 'moveCard')
          | {{_ 'activity-moved' cardLabel oldList.title list.title}}.

        if($eq activityType 'moveCardBoard')
          | {{{_ 'activity-moved' cardLink oldBoardName boardName}}}.

        if($eq activityType 'addAttachment')
          | {{{_ 'activity-attached' attachmentLink cardLabel}}}.
          if attachment.isImage
            img.attachment-image-preview(src=attachment.url)
        if($eq activityType 'deleteAttachment')
          | {{{_ 'activity-delete-attach'  cardLabel}}}.
        if($eq activityType 'removedChecklist')
          | {{{_ 'activity-checklist-removed' cardLabel}}}.
        if($eq activityType 'addChecklist')
          | {{{_ 'activity-checklist-added' cardLabel}}}.
          .activity-checklist
            +viewer
              = checklist.title
        if($eq activityType 'addChecklistItem')
          | {{{_ 'activity-checklist-item-added' checklist.title cardLink}}}.
          .activity-checklist(href="{{ card.absoluteUrl }}")
            +viewer
              = checklistItem.title

        if(currentData.timeKey)
          | {{{_ activityType }}}
          = ' '
          i(title=currentData.timeValue).activity-meta {{ moment currentData.timeValue 'LLL' }}
          if (currentData.timeOldValue)
              = ' '
              | {{{_ "previous_as" }}}
              = ' '
              i(title=currentData.timeOldValue).activity-meta {{ moment currentData.timeOldValue 'LLL' }}
          = ' @'
        else if(currentData.timeValue)
          | {{{_ activityType currentData.timeValue}}}


        if($eq activityType 'deleteComment')
          | {{{_ 'activity-deleteComment' currentData.commentId}}}.
        if($eq activityType 'editComment')
          | {{{_ 'activity-editComment' currentData.commentId}}}.
        if($eq activityType 'addComment')
          +inlinedForm(classNames='js-edit-comment')
            +editor(autofocus=true)
              = comment.text
            .edit-controls
              button.primary(type="submit") {{_ 'edit'}}
          else
            .activity-comment
              +viewer
                = comment.text
            span(title=createdAt).activity-meta {{ moment createdAt }}
              if ($eq currentUser._id comment.userId)
                = ' - '
                a.js-open-inlined-form {{_ "edit"}}
                = ' - '
                a.js-delete-comment {{_ "delete"}}

        else
          span(title=createdAt).activity-meta {{ moment createdAt }}
